package com.edmendst.xmall.service;

import com.alipay.api.AlipayApiException;
import com.edmendst.xmall.dto.CallBackPayInFo;
import com.edmendst.xmall.dto.OrderInfo;
import com.edmendst.xmall.dto.OrderItem;
import com.fasterxml.jackson.core.JsonProcessingException;

import java.math.BigDecimal;
import java.util.List;

/**
 * 用户->>前端: 点击支付按钮
 * 前端->>后端: 请求支付参数（订单ID、金额等）
 * 后端->>支付网关: 生成支付订单（传递回调URL）
 * 支付网关-->>后端: 返回支付页面URL
 * 后端-->>前端: 返回支付跳转链接
 * 前端->>用户: 跳转至支付页面
 * 用户->>支付网关: 完成支付操作
 * 支付网关->>后端: 发送异步支付通知（回调）
 * 后端->>数据库: 验证签名 → 更新order_payment_status=1
 * 后端-->>支付网关: 返回处理成功
 * 用户->>前端: 返回商户页面
 * 前端->>后端: 主动查询订单状态（可选）
 * 后端-->>前端: 返回最新支付状态
 */

/**
 * Creat by mjz
 */
public interface OrderService {
    // 添加订单
    OrderItem addOrder(OrderInfo orderInfo) throws JsonProcessingException;


    List<OrderItem> getOrderList(String userName);

    // 获取订单详情
    OrderItem getOrderDetail(String orderId);


    int deleteOrder(String orderId, String userName);

    // 签收订单
    int updateOrderReceivedStatus(String orderId, Integer orderReceivedStatus);

     //获取商店中的订单
    List<OrderItem> getOrderListByShop(Integer shopId);

    //订单发货
    int updateOrderDeliveryStatus(String orderId, Integer orderDeliveryStatus);
}
